#ifndef AGV_SEND_TASKDIALOG_H
#define AGV_SEND_TASKDIALOG_H

#include <QDialog>
#include <QMessageBox>
#include <QDateTime>
#include "MyDatabase.h"
#include "CommandSendorReceive.h"
#include "SwitchButton.h"
#include <QLineEdit>
namespace Ui {
class AGV_Send_TaskDialog;
}

struct District_Seat
{
    QString district_name;
    QString district_type;
    QString seat;
};

class AGV_Send_TaskDialog : public QDialog
{
    Q_OBJECT

public:
    /**
     * @brief  构造函数和析构函数
     */
    explicit AGV_Send_TaskDialog(QWidget *parent = nullptr);
    ~AGV_Send_TaskDialog();

signals:
    /**
     * @brief  数据库打开失败信号
     */
    void sendDBerror();

public slots:
    /**
     * @brief  显示指定窗口
     * @param  index 窗口索引
     */
    void showDialog(const int& index,const int& id);

    /**
     * @brief  初始化comboBox控件内容
     */
    void comboBoxData(const QString& text);

    /**
     * @brief  指定地图显示对应的下拉框选项
     */
    void maptoBoxData(const QString& text);

    /**
     * @brief  指定区域名下拉框选项
     */
    void districtNametoBoxData(const QString& text);

    /**
     * @brief  指定座位名下拉框选项
     */
    void seattoBoxData(const QString& text);

private slots:
    /**
     * @brief  笼车任务信息协议发送
     */
    void on_pushButton_transfer_trolley_clicked();

    /**
     * @brief  AGV任务信息协议发送
     */
    void on_pushButton_task_clicked();


private:
    Ui::AGV_Send_TaskDialog *ui;
    SwitchButton     *switchBtn;
    bool isSpecificVehicle;

    // 接替任务相关数据
    QString my_map_code;
};

#endif // AGV_SEND_TASKDIALOG_H
